/*********************************************
  中心网关的界面
  author 周翔
  2012-8-11

  只是界面，配套的业务层没实现


  ********************************************/


#ifndef CENTREGATEWAYWIDGET_H
#define CENTREGATEWAYWIDGET_H

#include <QWidget>
#include <QGridLayout>
#include <QPushButton>
#include <QComboBox>
#include <QDebug>

namespace Ui {
class CentreGatewayWidget;
}

class CentreGatewayWidget : public QWidget
{
    Q_OBJECT
    
public:
    explicit CentreGatewayWidget(QWidget *parent = 0);
    ~CentreGatewayWidget();

    void addItemsZigbee(const QStringList &names);//接受外部的设备信息，初始化相关的控件
    void addItemsGSM(const QStringList &names);//接受外部的设备信息，初始化相关的控件

signals:
    //当有zigbee或gsm被选择时发出，外部根据设备名，得知相关的设备信息后来对按钮进行相关的设置
    void activatedZIgBee(const QString &name);
    void activatedGSM(const QString &name);

    //一些按钮的控制信号
    void setZigBeeWorkStatus(const QString &name, const bool &onOff);//设置zigbee相关设备的工作状态
    void setGSMworkStatus(const QString &name, const bool &onOff);//设置GSM相关设备的工作状态

    void lockSystem();//锁定系统
    void restartSystem();//重启系统
    void shutDownSystem();//关闭系统


public slots:
    void getZigBeeInfo(const QString &fileName,bool onOff);//此处只关心设备的工作态，以布尔值来表示，真为on，假为off
    void getGSMinfo(const QString &fileName,bool onOff);

protected slots:
    //当点击这两个按钮时，进行一些相关的数据装换工作
    void doZIgbeeButton();
    void doGSMButton();
    
private:
    Ui::CentreGatewayWidget *ui;
    QGridLayout /*QVBoxLayout*/ *mainLayout;

    void initWidget();
    void initUI();

};

#endif // CENTREGATEWAYWIDGET_H
